Select2 was designed to be a replacement for the standard <select>
box that is displayed by the browser. By default it supports all options and operations that are available in a standard select box, but with added flexibility.
Select2 can take a regular select box like this...
and turn it into this...
<select class="js-example-basic-single" name="state">
<option value="AL">Alabama</option>
...
<option value="WY">Wyoming</option>
</select>
Select2 will register itself as a jQuery function if you use any of the distribution builds, so you can call .select2()
on any jQuery selector where you would like to initialize Select2.
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-example-basic-single').select2();
});
The DOM cannot be safely manipulated until it is "ready". To make sure that your DOM is ready before the browser initializes the Select2 control, wrap your code in a
$(document).ready()
block. Only one$(document).ready()
block is needed per page.
Select2 also supports multi-value select boxes. The select below is declared with the multiple
attribute.
In your HTML:
<select class="js-example-basic-multiple" name="states[]" multiple="multiple">
<option value="AL">Alabama</option>
...
<option value="WY">Wyoming</option>
</select>
In your Javascript (external .js
resource or <script>
tag):
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});